#ifndef ITERATOR_H
#define ITERATOR_H

template <class T>
class Iterator
{
public:
	Iterator();
	virtual ~Iterator();

	virtual void first() = 0;

	virtual void next() = 0;

	virtual bool isDone() = 0;

	virtual T getCurrentItem() = 0;
};
template<class T>
Iterator<T>::Iterator()
{

}

template<class T>
Iterator<T>::~Iterator()
{

}


#endif // ITERATOR_H
